﻿using System;

// Token: 0x02000575 RID: 1397
public class ExcelDataSeek
{
	// Token: 0x0600219E RID: 8606 RVA: 0x00130A94 File Offset: 0x0012EC94
	public ExcelDataSeek(global::ExcelData data)
	{
		this.data = data;
		this.cell = 0;
		this.row = 0;
	}

	// Token: 0x17000391 RID: 913
	// (get) Token: 0x0600219F RID: 8607 RVA: 0x00130AB4 File Offset: 0x0012ECB4
	// (set) Token: 0x060021A0 RID: 8608 RVA: 0x00130ABC File Offset: 0x0012ECBC
	public global::ExcelData data { get; private set; }

	// Token: 0x17000392 RID: 914
	// (get) Token: 0x060021A1 RID: 8609 RVA: 0x00130AC8 File Offset: 0x0012ECC8
	// (set) Token: 0x060021A2 RID: 8610 RVA: 0x00130AD0 File Offset: 0x0012ECD0
	public int cell { get; private set; }

	// Token: 0x17000393 RID: 915
	// (get) Token: 0x060021A3 RID: 8611 RVA: 0x00130ADC File Offset: 0x0012ECDC
	// (set) Token: 0x060021A4 RID: 8612 RVA: 0x00130AE4 File Offset: 0x0012ECE4
	public int row { get; private set; }

	// Token: 0x17000394 RID: 916
	// (get) Token: 0x060021A5 RID: 8613 RVA: 0x00130AF0 File Offset: 0x0012ECF0
	public bool isEndCell
	{
		get
		{
			return this.cell >= this.data.list.Count;
		}
	}

	// Token: 0x17000395 RID: 917
	// (get) Token: 0x060021A6 RID: 8614 RVA: 0x00130B10 File Offset: 0x0012ED10
	public bool isEndRow
	{
		get
		{
			bool result = true;
			if (this.cell < this.data.list.Count && this.row < this.data.list[this.cell].list.Count)
			{
				result = false;
			}
			return result;
		}
	}

	// Token: 0x060021A7 RID: 8615 RVA: 0x00130B68 File Offset: 0x0012ED68
	public virtual int SetCell(int set)
	{
		this.cell = set;
		return set;
	}

	// Token: 0x060021A8 RID: 8616 RVA: 0x00130B80 File Offset: 0x0012ED80
	public virtual int SetRow(int set)
	{
		this.row = set;
		return set;
	}

	// Token: 0x060021A9 RID: 8617 RVA: 0x00130B98 File Offset: 0x0012ED98
	public virtual int NextCell(int next)
	{
		return this.cell += next;
	}

	// Token: 0x060021AA RID: 8618 RVA: 0x00130BB8 File Offset: 0x0012EDB8
	public virtual int NextRow(int next)
	{
		return this.row += next;
	}

	// Token: 0x060021AB RID: 8619 RVA: 0x00130BD8 File Offset: 0x0012EDD8
	public virtual bool SearchCell(int next = 0, bool isErrorCheck = false)
	{
		bool result = false;
		this.cell += next;
		while (this.cell < this.data.list.Count)
		{
			if (this.row < this.data.list[this.cell].list.Count && this.data.list[this.cell].list[this.row] != string.Empty)
			{
				result = true;
				break;
			}
			this.cell++;
		}
		return result;
	}

	// Token: 0x060021AC RID: 8620 RVA: 0x00130C8C File Offset: 0x0012EE8C
	public virtual bool SearchRow(int next = 0, bool isErrorCheck = false)
	{
		bool result = false;
		this.row += next;
		if (this.cell < this.data.list.Count)
		{
			while (this.row < this.data.list[this.cell].list.Count)
			{
				if (this.data.list[this.cell].list[this.row] != string.Empty)
				{
					result = true;
					break;
				}
				this.row++;
			}
		}
		return result;
	}
}
